package com.lesama.stream.character;

/*
    平台默认字符编码： Unicode utf-8
    中文字符，通常是由负数的字节组成的
    今后若出现乱码问题，大概率是因为编解码方式不一致导致的

    编码： 字符转字节
        public byte[] getBytes(): 使用平台默认字符编码方式，对字符串编码
        public byte[] getBytes(String charsetName): 使用charsetName字符编码方式，对字符串编码

    解码： 字节转字符
        public String(byte[] bytes): 使用平台默认字符解码方式，对字符串解码
        public String(byte[] bytes, String charsetName): 使用charsetName字符解码方式，对字符串解码
 */

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class StringDemo {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s = "薇薇安";
        byte[] utf8Bytes = s.getBytes();
        byte[] gbkBytes = s.getBytes("gbk");

        System.out.println(Arrays.toString(utf8Bytes));
        System.out.println(Arrays.toString(gbkBytes));

        System.out.println(new String(utf8Bytes));
        System.out.println(new String(gbkBytes, "GBK"));
    }
}